Nonlinear equalizing apparatus

ABSTRACT

A nonlinear equalizing apparatus used for a digital magnetic recording medium is provided. The nonlinear equalizing apparatus according to the present invention includes a linear filter for linear filtering the input value r k , a pattern dependent filter including 2 τ+v  tap values selected by the respective patterns (b k−n+v:k−n+1 ,b k−n−1:k−n−τ ) of future v and past τ bit data transition absolute values and N taps p n (b k−n+v:k−n+1 ,b k−n−1:k−n−τ ) for outputting the value obtained by multiplying the selected tap value with the current transition (x k−n ), and (wherein, x k−n =(a k−n −a k−n−1 )/2∈{−1, 0, }, b k−n =|x k−n |∈{0, 1}, b k−n−1:k−n−τ =(b k−n−1  b k−n−2  . . . b k−n−τ ), b k−n+v:k−n+1 =(b k−n+v  b k−n+v−1  . . . b k−n+1 ), n=0, 1, 2, . . . , N, and N is a predetermined integer not less than 1+v) a detector for obtaining an error value e k  by a subsequent equation, with respect to all combinations of current and future data sequences          e   k     =         ∑   m            r     k   -   m            f   m         -       ∑   n            x     k   -   n              p   n          (       b     k   -   n   +     v              :     k   -   n   +   1           ,     b       k   -   n   -   1     :     k   -   n   -   τ           )                             
     (wherein, ƒ m  is the linear filter) and detecting current data assumed in the combination by which the minimum error square value is generated as the original data a k . 
     According to the present invention, it is possible to effectively display the nonlinear distortion of the digital magnetic storing channel generated by the interaction between adjacent data and to remarkably reduce a modeling error compared with a conventional model in which the influence of the future bit cannot be considered, by displaying the nonlinear channel of a high density digital magnetic storing apparatus as transition pulses selected according to the pattern of the transition absolute value of the future v bits and the past τ bits.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to an equalizing apparatus, and more particularly, to a non-linear equalizing apparatus used for a digital magnetic recording medium.

2. Description of the Related Art

Nonlinearity becomes a serious problem as recording density increases in a digital magnetic recording medium such as a hard disk drive (HDD). The nonlinearity is generated due to interaction between adjacent transitions. A demagnetization field of a previously recorded transition shifts the position of a subsequently recorded transition and increases the width between transitions. The adjacent transitions operate to erase each other. As a result, the size of a reproduced signal is reduced. Such phenomenons are known as nonlinear transition shift (NLTS), a transition broadening, and a partial erasure respectively.

When data are to be recorded, some peripheral bits generate such a nonlinear distortion. However, an interference effect between signals in reproduced signals exists in many bits. Accordingly, the nonlinear distortion affects many bits. When a signal detector does not process the nonlinear distortion, data detection reliability deteriorates.

According to a conventional technology (U.S. Pat. No. 5,132,988), the nonlinear distortion is processed using a feedback RAM instead of a feedback filter. Since a RAM model for processing the nonlinear distortion models only the nonlinear distortion from past data, it is impossible to consider the interaction between current and future data.

Also, since the size of a RAM is doubled as the range of data filtered by a feedback portion increases by one bit in this equalizer, the amount of data which can be processed by the feedback portion is restricted by the size of the RAM.

The linearity and nonlinearity characteristics of a channel are shown by three pulses in a paper by W. Zeng and J. Moon [“A Practical Nonlinear Model for Magnetic Recording Channels”, IEEE Trans. Magn., vol. 30, no. 6, pp. 4233-4235, November 1994]. The three pulses are an isolated transition response which is a transition response in the case that there is no transition between adjacent data and dibit responses which are transition responses in the case that there is a transition in a one bit past and there is a transition in a two bit past. The three pulses are obtained by measuring the reproduced signals.

However, a channel characteristic is not obtained from all the data sequences which may be generated but obtained by measuring a channel signal in an extremely restricted situation, in this model. As a result, this model does not provide a method of mathematically optimizing a model in order to heighten the reliability or obtaining the channel characteristic in a more general situation. Also, logic regulations for generating logic variables such as Q_(k), R_(k), ERA, and CHO required for operating the model are not mathematically induced but are created depending on the experience of the writers. The nonlinear equalizer in which the model provided by W. Zeng and J. Moon is used [“Decision feedback equalizer with pattern dependent dynamic threshold,” IEEE Trans. Magn., vol. 32, no. 4, pp. 3266-3273, July 1996] includes all the restrictions and problems which the model has.

SUMMARY OF THE INVENTION

It is an object of the present invention to provide an adaptive nonlinear equalizing apparatus.

It is another object of the present invention to provide a pattern dependent filter of the above apparatus.

It is still another object of the present invention to provide an adaptive nonlinear equalizing method which can effectively process a nonlinear distortion generated by an interaction not only between adjacent past bits but also between current and future bit data.

In order to achieve the first object, there is provided a nonlinear equalizing apparatus for detecting original data a_(k) from an input value r_(k) obtained by reproducing data received through a transfer channel or recorded on a storing apparatus, comprising a linear filter for linear filtering the input value r_(k), a pattern dependent filter including 2^(τ+v) tap values selected by the respective patterns (b_(k−n+v:k−n+1),b_(k−n−1:k−n−τ)) of future v and past τ bit data transition absolute values and N taps p_(n)(b_(k−n+v:k−n+1),b_(k−n−1:k−n−τ)) for outputting the value obtained by multiplying the selected tap value with the current transition (x_(k−n)), and (wherein, x_(k−n)=(a_(k−n)−a_(k−n−1))/2∈{−1, 0, }, b_(k−n)=|x_(k−n)|∈{0, 1}, b_(k−n−1:k−n−τ)=(b_(k−n−1) b_(k−n−2) . . . b_(k−n−τ)), b_(k−n+v:k−n+1)=(b_(k−n+v) b_(k−n+v−1) . . . b_(k−n+1)), n=0, 1, 2, . . . , N, and N is a predetermined integer not less than 1+v) a detector for obtaining an error value e_(k) by a subsequent equation, with respect to all combinations of current and future data sequences $e_{k} = {{\sum\limits_{m}{r_{k - m}f_{m}}} - {\sum\limits_{n}{x_{k - n}{p_{n}\left( {b_{k - n + {v\quad:{k - n + 1}}},b_{{k - n - 1}:{k - n - \tau}}} \right)}}}}$

(wherein, ƒ_(m) is the linear filter) and detecting current data assumed in the combination by which the minimum error square value is generated as the original data a_(k).

In order to achieve the second object, there is provided a pattern dependent filter, comprising the 0th through the Nth filter taps including 2^(τ+1) tap values selected by the pattern (b_(k+1−n),b_(k−1−n:k−τ−n)) of a future and past τ bit data transition absolute values and adaptively renewed by the error value e_(k−3), for multiplying the selected tap value with the current transition x_(k−n) and outputting the multiplication result, wherein a_(k) is original data detected by the nonlinear equalizing apparatus, x_(k−n)=(a_(k−n)−a_(k−n−1))/2∈{−1, 0, }, b_(k−n)=|x_(k−n)|∈{0, 1}, b_(k−n−1:k−n−τ)=(b_(k−n−1) b_(k−n−2) . . . b_(k−n−τ)), n=0, 1, 2, . . . , N, and N is a predetermined integer not less than 2, wherein the respective filter taps comprises a buffer list for storing 2^(τ+1) tap values, tap value selecting means for selecting one among 2^(τ+1) tap values output from the buffer list by the pattern (b_(k+1−n),b_(k−1−n:k−τ−n)) of future one and past τ bit data transition absolute values, a current transition multiplier for multiplying the tap value selected by the tap value selecting means with the current transition x_(k−n) and outputting the result, and a tap value renewing means for renewing the tap value by adding the tap value selected by the pattern (b_(k−2−n),b_(k−4−n:k−3−τ−n)) of the past one and future τ bit data transition absolute values from a reference time when the reference time is k−3−n.

In order to achieve the third object, there is provided a method of detecting original data a_(k) from an input value r_(k) obtained by reproducing data received through a transfer channel or recorded on a storing apparatus, comprising the steps of obtaining $\sum\limits_{n}{r_{k - n}f_{n}}$

by linear filtering the input value r_(k), obtaining $z_{k} = {{\sum\limits_{n}{r_{k - n}f_{n}}} - {\sum\limits_{n = 2}^{N}{x_{k - n}{p_{n}\left( {b_{k - n + 1},b_{{k - n - 1}:{k - n - \tau}}} \right)}}}}$

from already known data when a filter tap including 2^(τ+1) tap values selected by the pattern (b_(k+1−n),b_(k−1−n:k−τ−n)) of the future one and past τ bit data transition absolute values from a reference time when the reference time is k−n for multiplying the selected tap value with the current transition x_(k−n) is p_(n)(b_(k−n+1),b_(k−n−1:k−n−τ)), wherein x_(k−n)=(a_(k−n)−a_(k−n−1))/2∈{−1, 0, 1}, b_(k−n)=|x_(k−n)|∈{0, 1}, b_(k−n−1:k−n−τ)=(b_(k−n−1) b_(k−n−2) . . . b_(k−n−τ)), n=0, 1, 2, . . . , N, and N is a predetermined integer not less than 2^(v), obtaining an intermediate value T_(k) between the output value of the filter tap p₁ and p₀ when the transition is continuously generated in the current and future one bit (b_(k)=b_(k+1)=1) and the output value of the filter tap p₁ and p₀ when the transition is not currently generated, and detecting the original data a_(k) by determining a_(k) as +1 when z_(k)−T_(k) is equal to or greater than 0 and as −1 when a_(k) is less than 0. Also, there is a method of detecting original data a_(k) from an input value r_(k) obtained by reproducing data received through a transfer channel or recorded on a storing apparatus, comprising the steps of obtaining $\sum\limits_{n}{r_{k - n}f_{n}}$

by linear filtering the input value r_(k), obtaining $z_{k} = {{\sum\limits_{n}{r_{k - n}f_{n}}} - {\sum\limits_{n = 2}^{N}{x_{k - n}{p_{n}\left( {b_{k - n + 1},c_{k - n},b_{{k - n - 1}:{k - n - \tau}}} \right)}}}}$

from already known data when a filter tap including 2^(τ+2) tap values selected by the pattern (b_(k+1−n),c_(k−n),b_(k−1−n:k−τ−n)) of the future one, current one, and past τ data transition absolute values from a reference time when the reference time is k−n for multiplying the selected tap value with the current transition x_(k−n) is p_(n)(b_(k−n+1),c_(k−n),b_(k−n−1:k−n−τ)), wherein, x_(k−n)=(a_(k−n)−a_(k−n−1))/2∈{−1, 0, 1}, b_(k−n)=|x_(k−n)|∈{0, 1}, b_(k−n−1:k−n−τ=(b) _(k−n−1) b_(k−n−2) . . . b_(k−n−τ)), c_(k−n) equals to 1 when a_(k)>0 and equals 0 in the other cases, n=0, 1, 2, . . . , N, and N is a predetermined integer not less than 2^(v), obtaining an intermediate value T_(k) between the output value of the filter tap p₁ and p₀ when the transition is continuously generated in the current and future one bit (b_(k)=b_(k+1)=1) and the output value of the filter tap p₁ and p₀ when the transition is not currently generated, and detecting the original data a_(k) by determining a_(k) as +1 when z_(k)−T_(k) equals to or is larger than 0 and as −1 when a_(k) is less than 0.

BRIEF DESCRIPTION OF THE DRAWINGS

The above objects and advantages of the present invention will become more apparent by describing in detail a preferred embodiment thereof with reference to the attached drawings in which:

FIG. 1 shows a search tree with respect to current and future data transition absolute values when v=1;

FIG. 2 is a block diagram of a nonlinear equalizer according to the present invention including a filter having a filter tap value which varies according to a data pattern containing future v data and past τdata;

FIG. 3 is a block diagram of the nonlinear equalizer according to the present invention including a filter having a filter tap value which varies according to a data pattern containing future one data and the past τ data;

FIG. 4 is a block diagram of an error value calculator for the nonlinear equalizer obtaining an error value by a pipeline method;

FIG. 5 is a block diagram showing the structure of a pattern dependent filter of a nonlinear equalizing apparatus according to the present invention;

FIG. 6 shows an embodiment (n=2, 3, . . . , and N) of a number n filter tap (P_(n)) of the pattern dependent filter of FIG. 5 having filter tap values which vary according to data patterns;

FIG. 7 is an embodiment of a number 1 filter tap (P₁) of the pattern dependent filter of FIG. 5 having the filter tap values which vary according to the data patterns;

FIG. 8 is an embodiment of a number 0 filter tap (P₀) of the pattern dependent filter of FIG. 5 having the filter tap values which vary according to the data patterns; and

FIG. 9 is a graph for comparing the performance of a conventional equalizer with that of an equalizer according to the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

A theory on which the present invention is based will be described hereinafter.

Processes of obtaining an equalizer error e_(k) according to the present invention are as follows.

It is assumed that a binary data sequence is a_(k) (a_(k) is +1 or −1) and that a sample signal obtained by recording a_(k) on a disk and reproducing a_(k) or a sample signal received through a transfer channel is r_(k). r_(k) is filtered by a finite impulse response filter (FIR) ƒ_(n). An target signal is generated by the overlapping the filtered r_(k) with pulse p_(n)(•) which vary according to the data patterns. Then, the difference between r_(k) filtered by ƒ_(n) and the target signal is the equalizer error value e_(k). $\begin{matrix} {e_{k} = {{\sum\limits_{n = {- L_{0}}}^{L_{1}}{r_{k - n}f_{n}}} - {\sum\limits_{n = {- N_{0}}}^{N_{1}}{x_{k - n}{p_{n}\left( {b_{k - n + {v:{k - n + 1}}},b_{{k - n - 1}:{k - n - \tau}}} \right)}}}}} & (1) \end{matrix}$

wherein, x_(k)=(a_(k)−a_(k−1))/2=−1 represents the −ve transition of data x_(k)=(a_(k)−a_(k−1))/2=0 means that there is no transition of data. x_(k)=(a_(k)−a_(k−1))=+1 represents the +ve transition of data. b_(k)=|x_(k)|=1 means that there is an occurrence of a transition. b_(k)=|x_(k)|=0 means that there is no occurrence of a transition. b_(k−1:k−τ) represents τbits data set (b_(k−1) b_(k−2) . . . b_(kτ)) and a pulse p_(n)(b_(k−n+v:k−n+1), b_(k−n−1:k−n−τ)) has a value which varies according to the states of the transition of future v bits b_(k−n+v:k−n+1) and the transition of past τ bits b_(k−n−1:k−n−τ) in the respective samples n.

A method of obtaining current data a_(k) using an equalizer error value obtained by Equation 1 is as follows. After obtaining the square e_(k)*e_(k) of an output error with respect to all possible combinations of current and future N₀+v data, the value of the current data assumed in the case of obtaining a minimum value is searched and is determined as the value of the current data a_(k). $\begin{matrix} {a_{k} = \left\{ \begin{matrix} 1 & {{{if}\quad {\min_{a_{k:{k + N_{0} + v}}}e_{k}^{2}}} = {\left. {\min_{a_{{k + 1}:{k + N_{0} + v}}}e_{k}^{2}} \middle| a_{k} \right. = 1}} \\ {- 1} & {{{if}\quad {\min_{a_{k:{k + N_{0} + v}}}e^{2_{k}}}} = {\left. {\min_{a_{{k + 1}:{k + N_{0} + v}}}e_{k}^{2}} \middle| a_{k} \right. = {- 1}}} \end{matrix} \right.} & (2) \end{matrix}$

The pulse which varies according to data patterns can be represented as follows using a pattern state value s_(k). $\begin{matrix} \begin{matrix} {{p_{n}\left( {b_{k - n + {v:{k - n + 1}}},b_{{k - n - 1}:{k - n - \tau}}} \right)} = \quad {\sum\limits_{m = 0}^{M - 1}{{\delta \left( {m - s_{k - n}} \right)}{p_{n}(m)}}}} \\ {= \quad {i_{k - n}^{t}p_{n}}} \end{matrix} & (3) \end{matrix}$

wherein, δ(m−s_(k−n)) is a delta function, which has a value of 1 when m is equal to s_(k−n) and a value of 0 when m is not equal to s_(k−n).

M=2^(τ+v)  (4) $\begin{matrix} {s_{k - n} = {{\sum\limits_{m + 1}^{v}{b_{k - n + m}2^{\tau + m - 1}}} + {\sum\limits_{m = 1}^{\tau}{b_{k - n - m}2^{\tau - m}}}}} & (5) \end{matrix}$

i _(k−n)=[δ(s _(k−n))δ(s _(k−n)−1) . . . δ(s _(k−n) −M+1)]^(t)  (6)

p _(n) =[p _(n)(0)p_(n)(1) . . . p_(n)(2^(τ+v)−1)]^(t)  (7)

Equation 3 represents the pulse p_(n)(b_(k−n+v:k−n+1),b_(k−n−1:k−n−τ)) as the multiplication of two vectors of size M with each other. Equation 1 is represented as follows using Equation 3. $\begin{matrix} {e_{k} = {{r_{k}^{t}f} - {\sum\limits_{n = {- N_{0}}}^{N_{1}}{x_{k - n}i_{k - n}^{t}P_{n}}}}} & (8) \\ {e_{k} = {{r_{k}^{t}f} - {\sum\limits_{n = {- N_{0}}}^{N_{1}}{w_{k - n}p_{n}}}}} & (9) \end{matrix}$

 e _(k) =r _(k) ^(t) ƒ−w _(k) p  (10)

w _(k−n) =x _(k−n) i _(k−n) ^(t)  (11)

w _(k) =[w _(k+N) ₀ w _(k−1+N) ₀ . . . w _(k−N) ₁ ]  (12)

p=[p _(−N) ₀ ^(t) p _(1−N) ₀ ^(t) . . . p _(N) ₁ ^(t)]^(t)  (13)

For example, in a state in which s_(k−n) is equal to 0, transitions are not generated in future v bits and past τ bits on the basis of the current data a_(k−n). When an optional transition pattern m₀ is selected and p₀(m₀) which is a pulse center tap (n=0) is designated to be 1, Equation 10 can be simultaneously omtimized with respect to the filter ƒ_(n) and the pulse p_(n)(•). $\begin{matrix} \begin{matrix} {e_{k} = \quad {{r_{k}^{t}f} - {w_{k}^{\prime}p^{\prime}} - {{w_{k}\left( m_{0} \right)}{p_{0}\left( m_{0} \right)}}}} \\ {= \quad {{y_{k}^{t}f} - {w_{k}\left( m_{0} \right)}}} \end{matrix} & (14) \end{matrix}$

wherein, p₀(m₀)=1.

y _(k) =[r _(k) ^(t) −w _(k)′]^(t)  (15) $\begin{matrix} {f = {\begin{matrix} f \\ p^{\prime} \end{matrix}}} & (16) \end{matrix}$

wherein, p′ is a vector obtained by erasing p₀(m₀) from p. w_(k)′ Is a vector obtained by erasing w_(k)(m₀) from w_(k).

The optimal filter and pulse for minimizing an error square mean are obtained as follows.

ƒ₀ =E{y _(k) y _(k) ^(t)}⁻¹ E{y _(k) w _(k)(m ₀)}  (17)

Processes of adaptively obtaining the optimal filter and pulse are as follows.

ƒ=ƒ−μe _(k) y _(k)  (18)

This will be described in more detail as follows.

ƒ_(n)=ƒ_(n) −μe _(k) r _(k−n) , n=−L ₀ , . . . , L ₁  (19)

p _(n)(i)=p _(n)(i)+μe _(k) x _(k−n)δ(s _(k−n) −i),

n=−N ₀ , . . . , N ₁ , i=0, . . . , 2^(τ+1)−1  (20)

wherein, p₀(m₀)=1.

According to Equation 2, in order to detect data by a nonlinear equalizer, an output error square is to be obtained with respect to current and future (N₀+v) and the value of a_(k) having a minimum value is to be searched. However, when the value of (N₀+v) is great, these detecting processes are very complicated. Therefore, it is necessary to find a simpler method.

In the case in which N₀=0 and v=1 so that a pulse has only current and past signal values, the filter ƒ_(n) and the pulse p_(n)(•) operate in a similar way to the feedforward filter and the feed back filter of a decision-feedback equalizer (DFE). However, since the pattern s_(k) of the pulse requires the value of future data, a search for the future data is necessary. Equation 9 can be represented as follows. $\begin{matrix} \begin{matrix} {e_{k} = \quad {{r_{k}^{t}f} - {\sum\limits_{n = 2}^{N_{1}}{w_{k - n}p_{n}}} - {\sum\limits_{n = 0}^{l}{w_{k - n}p_{n}}}}} \\ {= \quad {z_{k} - {\sum\limits_{n + 0}^{l}{w_{k - n}p_{n}}}}} \end{matrix} & (21) \\ {z_{k} = {{r_{k}^{t}f} - {\sum\limits_{n = 2}^{N_{1}}{w_{k - n}p_{n}}}}} & (22) \end{matrix}$

z_(k) can be obtained since past data is already known. Therefore, the current data a_(k) is obtained by obtaining the error squares of Equation 21 with respect to all combinations current bit and one future bit can have and determining the a_(k) value which is required for generating the minimum error square value as the value of the current bit. FIG. 1 shows a search tree for detecting data when n=1.

When n=1, data detecting processes can be simplified as follows. When the past transition b_(k−n) (n>0) is already known, there are four transition patterns (b_(k), b_(K+1)) to be considered in Equation 21, i.e., (0, 0), (0, 1), (1, 0), and (1, 1). However, since w_(k−n)=x_(k−n)i_(k−n) ^(t), when b_(k)=0, w_(k) is always 0 regardless of b_(k+1). Thus, w_(k)(b_(k)=0)=0. The transitions of the adjacent future bits generate a partial erasure phenomenon, thus reducing the size of the transition pulse of the current bit.

|w _(k)(b _(k)=1,b _(k+1)=1)p ₀ |≦|w _(k)(b _(k=1) , b _(k+1)=0)p ₀|  (23)

The value of the current bit is always determined between a case in which b_(k)=0 and a case in which b_(k)=b_(k+1)=1. A center point between the case in which b_(k)=0 and the case in which b_(k)=b_(k+1)=1 is as follows.

T _(k)=½{w _(k−1)(b _(k)=0)p ₁ +w _(k−1)(b _(k)=1)p ₁ +w _(k)(b _(k) =b _(k+1)=1)p ₀}  (24)

The value of the current bit is easily detected by a threshold detector. $\begin{matrix} {\begin{matrix} \begin{matrix} {a_{k} = \left\{ \begin{matrix} {{+ 1},} & {{{{if}\quad z_{k}} - T_{k}} \geq 0} \\ {{- 1},} & {otherwise} \end{matrix} \right.} \\ {{wherein},} \end{matrix} \\ {z_{k} = {{r_{k}^{t}f} - {\sum\limits_{n + 2}^{N_{1}}{w_{k - n}p_{n}}}}} \end{matrix}{T_{k} = {\frac{1}{2}\left\{ {{{w_{k - 1}\left( {b_{k} = 0} \right)}p_{1}} + {{w_{k - 1}\left( {b_{k} = 1} \right)}p_{1}} + {{w_{k - 1}\left( {b_{k} = {b_{k + 1} = 1}} \right)}p_{0}}} \right\}}}} & (25) \end{matrix}$

When a signal is reproduced by a magneto resistive MR head, the signal has different characteristics according to a positive direction or a negative direction. In the present invention, it is possible to consider the characteristic of the signal which varies according to the directions by adding the state of the current data to the pattern of the pulse. Namely, the pulse is defined as p_(n)(b_(k−n+v:k−n+1), c_(k), b_(k−n−1:k−n−τ)) and variables c_(k), M, and s_(k) are defined as follows. $\begin{matrix} {c_{k}\left\{ \begin{matrix} {1,} & {{{if}\quad a_{k}} > 0} \\ {0,} & {otherwise} \end{matrix} \right.} & (26) \end{matrix}$

 M=2^(τ+v+1)  (27) $\begin{matrix} {s_{k - n} = {{c_{k - n}2^{\tau}} + {\sum\limits_{m = 1}^{v}{b_{k - n + m}2^{\tau + m}}} + {\sum\limits_{m + 1}^{\tau}{b_{k - n - m}2^{\tau - m}}}}} & (28) \end{matrix}$

The other equations are the same as those mentioned before. The c_(k) value is necessary in the 0th tap. However, when it is assumed that b_(k)=1, a circuit is constructed using a characteristic that the c_(k) value is equal to the complement of the C_(k−1) value.

FIG. 2 is a block diagram of a nonlinear equalizer for detecting binary data a_(k) by the method of Equation 2 using the error value defined in Equation 1.

After processing the received input value r_(k) by a linear filter 200, data previously detected by a pattern dependent filter 210 having different tap values according to past sand future v bits data pattern are filtered. An error value is obtained by a detector 220 by subtracting the output value of the pattern dependent filter 210 from the output value of the linear filter 200. The error values of Equation 1 with respect to all combinations of current and future data which are not detected yet are obtained. The detector 220 obtains a_(k) for generating the minimum error square value as shown in Equation 2 among the error values of the respective combinations and determines it as final output data.

At this time, a_(k) has the value of +1 or −1 in Equation, however, has the value of 1 or 0 in a circuit.

Hereinafter, the case in which the pattern dependent filter has different tap values according to future one and past τ bits data pattern will be described as a preferred embodiment of the present invention.

According to FIG. 3, processes of obtaining the current data a_(k) according to Equation 25 are as follows in an embodiment of the present invention. In the present embodiment, a pattern dependent filter 310 includes a plurality of filter taps, i.e., 0th through Nth filter taps P₀ through P_(N) 320 through 320+N and a transition calculator 330. A detector 340 includes a past tap value adder 342, a future tap value adder 344, and a threshold value detector 346.

The past tap adder 342 adds the output values of the second filter tap 322 through the Nth filter tap 320+N to each other. The future tap adder 344 adds the output value of the 0th filter tap 320 to that of the first filter tap 321.

z_(k) of Equation 22 is obtained by subtracting the output value of the past tap value adder 332 from the input value r_(k) filtered by the linear filter 300. T_(k) of Equation 24 is obtained by multiplying {fraction (1/2+L )} by the output value of the future tap value adder 334.

The threshold value detector 346 detects the current data a_(k) by detecting a threshold value on the basis of 0 with respect to the signal obtained by subtracting T_(k) from z_(k) as shown in FIG. 25.

At this time, b_(k) is defined as |(a_(k)−a_(k−1))/2| in Equation 1. However, b_(k) is obtained by performing an XOR operation on a_(k) and a_(k−1) in logic circuits. Namely, the transition calculator 330 obtains a_(k−1) by delaying a_(k) by one clock cycle by the first delaying means 332, b_(k) by performing an XOR operation on a_(k) and a_(k−1) by an XOR gate 336, and b_(k−1) by delaying b_(k) by one clock cycle by the second delaying means 334. a_(k−1) and b_(k−1) are used by the 0th filter tap 320 through the Nth filter tap 320+N.

According to FIG. 4, processes of obtaining the error value of the equalizer are as follows in the above embodiment. The processes are realized by a pipeline method.

The two output values w_(k−1)(b_(k)=0)p₁ and w_(k−1)(b_(k)=1)p₁ of the first filter tap 321 are respectively delayed by one clock cycle by being stored in a buffer 401 and a buffer 402. The first filter tap value selector 410 selects w_(k−1)(b_(k)=1)p₁ delayed by one clock cycle when b_(k−1) is 1 and w_(k−l)(b_(k)=0)p₁ delayed by one clock cycle when b_(k−1) is 0.

The two outputs w_(k)(b_(k)=1, b_(k+1)=1)p₀ and w_(k)(b_(k)=1, b_(k−1)=0)p₀ the 0th filter tap 320 are respectively delayed by two clock cycles by being sequentially stored in buffers 403 and 404 and buffers 405 and 406. Then, the second filter tap value selector 420 selects w_(k)(b_(k)=1, b_(k+1)=1)p₀ delayed by two clock cycles when b_(k−1) is 1 and w_(k)(b_(k)=1, b_(k+1)=0)p₀ delayed by two clock cycles when b_(k−1) is 0. A third filter tap value selector 430 selects the output value of the second filter tap value selector 420 when b_(k−2) is 1 and 0 when b_(k−2) is 0.

z_(k) is delayed by one clock cycle by being stored in a buffer 407 and become z_(k−1). A first error value adder 440 subtracts the output value of the first filter tap value selector 410 from z_(k−1). The output value of a first error value adder 440 is delayed by one clock cycle by being stored in the buffer 408. A second error value adder 450 subtracts the output value of the third error value selector 430 from the output value of the buffer 408. The output value of the second error value adder 450 is delayed one clock cycle by being stored in the buffer 409 and becomes an error value e_(k−3) delayed by three clock cycles.

FIG. 5 shows the structure of one among the filter taps included in the pattern dependent filter of the nonlinear equalizer according to the present invention. The filter tap according to the present invention includes a buffer list 500, a tap value selecting means 510, a current transition multiplier 520, and a tap value renewing means 530.

The buffer list 500 includes 2^(τ+1) buffers for storing 2^(τ+1) tap values selected by pattern (b_(k+1−n),b_(k−1−n:k−τ−n)) of future one and past τ data transition absolute values from a reference time when the reference time is k−n and adaptively renewed by the error value e_(k−3).

The tap value selecting means 510 selects one among 2_(τ+1) tap values output from the buffer list 500 by the pattern (b_(k+1−n),b_(k−1−n:k−τ−n)) of the future one and past τ data transition absolute values.

The current transition multiplier 520 multiplies the tap value selected by the tap value selecting means 510 with the current transition x_(k−n) and outputs the result.

The tap value renewing means 530 includes a renewed tap value selecting means 532, an increase/decrease value calculating means 534, a renewed tap value calculator 536, and a renewed tap selecting means 538. Here, the reference time is k−3−n.

The renewed tap value selecting means 532 selects one among 2^(τ+1) tap values output from the buffer list 500 by the pattern b_(k−2−n),b_(k−4−n:k−3−τ−n)) of the future one and past τ data transition absolute values from the reference time. The increase/decrease value calculating means 534 inputs a step size μ, current data value a_(k−3−n), and the error value e_(k−3) delayed by three clock cycles and calculates the increased and reduced value μx_(k−3−n)e_(k−3).

The renewed tap value calculator 536 calculates the renewed tap value by adding the tap value selected by the renewed tap value selecting means 532 to the value calculated by the increase/decrease value calculating means 534 and stores the renewed tap value in the buffer of the buffer list 500 selected by the renewed tap selecting means 538.

The respective buffers included in the buffer list 500 includes a first buffer selector for selecting either the output of the buffer or the output value of the renewed tap value calculator 536 under the control of the renewed tap selecting means 538 and a second buffer selector for selecting either the output value of the first buffer selector or the initial value of the first buffer selector by a ‘LOAD’ control signal.

According to FIG. 6, the structure of an embodiment of an nth filter tap P_(n) into (n=2 through N) having different tap values according to data patterns is as follows. The nth filter tap P_(n) outputs the value w_(k−n)p_(n). Here, the current time is set on the basis of k−n.

A buffer p_(n)(i) (i=0, 1, . . . , 2^(τ+1)−1) stores the tap values with respect to the respective patterns. This value is designated as the initial value p_(n) ⁰(i) (i=0, 1, . . . , 2^(τ+1)−1) when the control signal “LOAD” is turned on. Reference numerals 600 and 605 respectively denote a 0th buffer and a 2^(τ+1)−1th buffer.

In the present embodiment, the tap value selecting means 510 includes a lower tap value selecting multiplexer 610, an upper tap value selecting multiplexer 615, and a tap value selector 620.

The low tap value selecting multiplexer 610 selects one among lower 2^(τ) tap values p_(n)(i) (i=0, 1, , . . . , 2^(τ)−1)by the pattern b_(k−1−n:k−τ−n) of the past τ bit transition absolute value. The upper tap value selecting multiplexer 615 selects one among the uppers 2^(τ) tap values p_(n)(i) (i=2^(τ), . . . , 2^(τ)−1) by the pattern b_(k−1−n:k−τ−n) of the past τ bit transition absolute values.

The output value of the lower tap value selecting multiplexer 610 relates to the tap value when b_(k+1−n)=0. The output value of the upper tap value selecting multiplier 615 relates to the tap value when b_(k+1−n)=1. Therefore, the tap value selector 620 selects either the output value of the lower tap value selecting multiplexer 610 or that of the upper tap value selecting multiplexer 615. The result corresponds to the operation i_(k−n) ^(t)p_(n) of Equation 3.

In the present embodiment, the current transition multiplier 520 of FIG. 5 includes a code selector 625 and a current transition presence selector 630.

The code selector selects the output value of the tap value selector 620 when a_(k−n) is 1 and the value obtained by multiplying the output value of the tap value selector 620 with −1 when a_(k−n) is 0. This process is the same as the process of multiplying x_(k−n) with the output value of the tap value selector 620 when it is assumed that be b_(k−n)=1. Then, the current transition presence selector 630 selects either the output value of the code selector 625 or 0 according to b_(k−n) and outputs the selected value.

Therefore, the code selector 625 and the current transition presence selector 630 perform the same operation as that of multiplying the output value i_(k−n) ^(t)p_(n) of the tap value selector 620 with x_(k−n). As a result, the output value of the current transition presence selector 630 is w_(k−n)p_(n)=x_(k−n)i_(k−n) ^(t)p_(n), which is the output value of the nth filter tap P_(n).

The nth filter tap P_(n) renews the tap value using the renewed error value e_(k−3) as described in FIG. 4. The renewal process is based on Equation 20. In this process, the reference time is k−3−n.

The renewed tap value selecting means 635 is realized by a multiplexer and selects one among the output values of the buffers p_(n)(i) (i=0, 1, . . . , 2^(τ+1)−1) by the future one transition b_(k−2−n) and the past τ bit transition b_(k−4−n:k−3−τ−n). The increased and reduced value calculating means 640 obtains μa_(k−3−n)e_(k−3) by inputting a_(k−3−n), μ, and the error value e_(k−3). The renewed tap value calculator 645 which is a kind of adder, adds the output value of the renewed tap value selecting means 635 to μa_(k−3−n)e_(k−3).

The renewed tap selecting means 650 which is realized by a demultiplexer outputs 1 only to one output terminal selected b_(k−2−n) and b_(k−4−n:k−3−τ−n) among 2^(τ+1) output terminals and outputs 0 to the remaining 2^(τ+1)−1 output terminals. Namely, the renewed tap selecting means 650 selects one among 2^(τ+1) buffers p_(n)(i) (i=0, 1, . . . , 2^(τ+1)−1) according to b_(k−2−n) and b_(k−4−n:k−3−τ−n). When a control signal “UPDATE” is high and the b_(k−3−n) value is 1, the output value of the renewed tap value calculator 645 is determined as the input value of the selected buffer. When “UPDATE” is low or the b_(k−3−n) value is 0, the original tap value is maintained.

According to FIG. 7, the structure of an embodiment of the first filter tap P₁ having different tap values according to the patterns of data is as follows. The operation processes of the first filter tap P₁ are similar to those of the nth filter tap P_(n)(n=2 through N) shown in FIG. 6. However, the first filter tap P₁ outputs two values, i.e., w_(k−1)(b_(k)=1)p₁ and w_(k−1)(b_(k)=0)p₁. Here, the current time is based on k−1.

The buffers p₁(i) (i=0, 1, . . . , 2^(τ+1)−1) store the tap values with respect to the respective patterns. An initial value is designated as p₁(i) (wherein, i=0, 1, . . . , 2^(τ+1)−1) when a control signal “LOAD” is turned on in an initial stage of the operation. Reference numerals 700 and 705 respectively denote the 0th buffer and the 2^(τ+)−1th buffer.

In the present embodiment, the tap value selecting means 510 of FIG. 5 includes a lower tap value selecting multiplexer 710 and an upper tap value selecting multiplexer 715.

The lower tap selecting multiplexer 710 selects one among the lower 2^(τ) buffer values p₁(i) (i=0, 1, . . . , 2^(τ+1)−1) by the past τ bit transition patterns b_(k−2:k−τ−1). The upper tap value selecting multiplexer 715 selects one among the upper 2^(τ) buffer values p₁(i) (i=2^(τ), . . . , 2^(τ+1)−1).

The output value of the lower tap value selecting multiplexer 710 relates to the tap value when b_(k)=0. The output value of the upper tap value multiplexer 715 relates to the tap value when b_(k)=1.

In the present embodiment, the current transition multiplier 520 of FIG. 5 includes a lower tap value current transition multiplier 720 and an upper tap value current transition multiplier 725.

The lower tap value current transition multiplier 720 and the upper tap value current transition multiplier 725 include code selectors 721 and 726 and current transition presence selectors 722 and 727. The operation of the lower tap value current transition multiplier and the upper tap value current transition multiplier are the same as multiplying the output values of the lower tap value selecting multiplexer 710 and the upper tap value selecting multiplexer 715 with x_(k−1). Namely, the output values of the current transition presence selectors 722 and 727 are w_(k−1)(b_(k)=1)p₁ and w_(k−1)(b_(k)=0)p₁, which are the output values of the first filter tap P₁.

Processes of renewing the tap value using the error value e_(k−3) by the first filter tap P₁ are the same as shown in FIG. 6.

According to FIG. 8, the structure of an embodiment of the 0th filter tap P₀ having different tap values according the patterns of data is as follows. The operating processes of the 0th filter tap P₀ are similar to those of the nth filter tap P_(n) (n=2 through N) shown in FIG. 6. However, the 0th filter tap P₀ outputs the two values, i.e., w_(k)(b_(k)=1,b_(k+1)=1)p₀ and w_(k)(b_(k)=1,b_(k+1)=0)p₀. Here, the current time is based on k.

The buffers p₀(z) (i=1, . . . , m₀−1, m₀+1, . . . , 2^(τ+1)−1) store the tap values with respect to the respective patterns. The 0th tap value p₀(m₀) is fixed to 1. m₀ is a certain fixed value selected from the values, 0 through 2^(τ+1)−1. An initial value is designated as p₀(i) (wherein, i=1, . . . , m₀−1, m₀+1, . . . , 2^(τ+1)−1) when the control signal “LOAD” is turned on in an initial stage of the operation. FIG. 8 shows an embodiment realized by selecting m₀=0. Reference numerals 800 and 805 respectively denote a first buffer and a (2^(τ+1)−1)th buffer.

In the present embodiment, the tap value selecting means 510 of FIG. 5 includes a lower tap value selecting multiplexer 810 and an upper tap value selecting multiplexer 815.

The lower tap value selecting multiplexer 810 selects one among the lower 2^(τ) tap values p₀(i) (i=0, 1, . . . , 2^(τ)−1) by the pattern (b_(k−1:k−τ)) of the past τ bit transition absolute value. The upper tap value selecting multiplexer 815 selects one among the upper 2^(τ) tap values p₀(i) (i=2^(τ), . . . , 2^(τ+1)−1) by the pattern (b_(k−1:k−τ)) of the past τ bit transition absolute values.

The output value of the lower tap value selecting multiplexer 810 relates to the tap value when b_(k+1)=0. The output of the upper tap value selecting multiplexer 815 relates to the tap value when b_(k+1)=1.

In the present invention, the current transition multiplier of FIG. 5 includes a lower tap value current transition multiplier 820 and an upper tap value current transition multiplier 825.

The lower tap value current transition multiplier 820 selects the output value of the lower tap value selecting multiplexer 810 when a_(k−1)=0 and the value obtained by multiplying −1 with the output value of the lower tap value selecting multiplexer 810. The upper tap value current transition multiplier 825 selects the output value of the upper tap value selecting multiplexer 815 when a_(k−1)=0 and the value obtained by multiplying the output value of the upper tap value selecting multiplexer 815 with −1 when a_(k−1)=1. Namely, the lower tap value current transition multiplier 820 and the upper tap value current transition multiplier 825 perform the same operation as that of multiplying x_(k) when it is assumed that b_(k)=1 with the output values of the lower tap value selecting multiplexer 810 and the upper tap value selecting multiplexer 815. Therefore, the lower tap value current transition multiplier 820 and the upper tap value current transition multiplier 825 respectively output w_(k)(b_(k)=1,b_(k+1)=1)p₀ and w_(k)(b_(k)=1,b_(k+1)=0)p₀.

Processes of renewing the tap values using the error value e_(k−3) by the 0th filter tap P₀ are the same as those of FIG. 6.

Channel data for testing the performance of the present invention is generated as follows. The channel signal r_(k) with respect to the binary data a_(k)=(+1, −1) and x_(k)=(a_(k)−a_(k−1))/2 obtained by encoding a random binary data sequence to RLL(0,4/4) has a shape in which the gain g_(k) and the phase ε_(k) of the pulse h(t) are affected by data and white gaussian noise n_(k) is added. $\begin{matrix} {r_{k} = {{\sum\limits_{m = {- N}}^{N}{x_{k - m}g_{k - m}{h\left( {{mT} + \varepsilon_{k - m}} \right)}}} + n_{k}}} & (29) \end{matrix}$

wherein, the pulse h(t) is

h(t)=[1+(2t/pw ₅₀)²]⁻¹  (30)

wherein, pw₅₀ designates the value of 2.5×(9/8). The size of the noise is defined as follows.

SNR _(mƒb) =E{[h(kT)−h(kT−T)]² }/E{n ² _(k)}  (31)

TABLE 1 gain change (γ = 0.6) b_(k−1) b_(k+1) g_(k) 0 0 1 0 1 γ 1 0 γ 1 1 γ²

TABLE 1 gain change (γ = 0.6) b_(k−1) b_(k+1) g_(k) 0 0 1 0 1 γ 1 0 γ 1 1 γ²

In FIG. 9, the performance of a bit-error-rate (BER) of a conventional linear decision-feedback equalizer and a RAM-decision-feedback equalizer when τ=1 is compared with that when τ=2. Predictive DFE (4, τ=1) means that the respective filter taps four different values and are selected by the data value of future 1 bit and past 1 bit. Predictive DFE (8, τ=2) means that the respective filter taps have eight different values and are selected by the data value of future 1 bit and past 2 bits. According to FIG. 9, the performance of the present invention is much better than that of the conventional method.

According to the present invention, it is possible to effectively display the nonlinear distortion of the digital magnetic storing channel generated by the interaction between adjacent data and to remarkably reduce the modeling error compared with a conventional model in which the influence of the future bit cannot be considered, by displaying the nonlinear channel of a high density digital magnetic storing apparatus as transition pulses selected according to the pattern of the transition absolute value of the future v bits and the past T bits.

The model on which the present invention is based is mathematically induced. Accordingly, it is possible to obtain an optimized modeling error and to trade off performance and complexity of the desired model and equalizer in a given channel by appropriately selecting the v and τ values of the model.

In the model on which the present invention is based, when the v value is larger than 1, it is possible to detect the current data only after detecting the current and the v future data. When v=1, the current data can be easily realized by the threshold value detector on the basis of 0, using the characteristics of the channel and the model.

Also, the nonlinear equalizer according to the present invention is completely adaptively realized. 

What is claimed is:
 1. A nonlinear equalizing apparatus for detecting original data a_(k) from an input value r_(k) obtained by reproducing data received through a transfer channel or recorded on a storing apparatus, comprising: a linear filter for linear filtering the input value r_(k); a pattern dependent filter including 2^(τ+v) tap values selected by the respective patterns (b_(k−n+v:k−n+1),b_(k−n−1:k−n−τ)) of future v and past τ bit data transition absolute values and N taps p_(n)(b_(k−n+v:k−n+1),b_(k−n−1:k−n−τ)) for outputting the value obtained by multiplying the selected tap value with the current transition (x_(k−n)); and (wherein, x_(k−n)=(a_(k−n)−a_(k−n−1))/2∈{−1, 0, }, b_(k−n)=|x_(k−n)|∈{0, 1}, b_(k−n−1:k−n−τ)=(b_(k−n−1) b_(k−n−2) . . . b_(k−n−τ)), b_(k−n+v:k−n+1)=(b_(k−n+v) b_(k−n+v−1) . . . b_(k−n+1)), n=0, 1, 2, . . . , N, and N is a predetermined integer not less than 1+v) a detector for obtaining an error value e_(k) by a subsequent equation, with respect to all combinations of current and future data sequences $e_{k} = {{\sum\limits_{m}{r_{k - m}f_{m}}} - {\sum\limits_{n}{x_{k - n}{p_{n}\left( {b_{k - n + {v\quad:{k - n + 1}}},b_{{k - n - 1}:{k - n - \tau}}} \right)}}}}$

(wherein, ƒ_(m) is the linear filter) and detecting current data assumed in the combination by which the minimum error square value is generated as the original data a_(k).
 2. The apparatus of claim 1, wherein the pattern dependent filter comprises: a 0th filter tap including 2^(τ+1) tap values selected by the pattern (b_(k+1),b_(k−1:k−τ)) of future one and past τ bit data transition absolute values from a reference time when the reference time is k, for selecting a tap value obtained by assuming current and future transition absolute values as (b_(k)=1,b_(k+1)=0) and (b_(k)=1,b_(k+1)=1), multiplying the respective selected tap values with the current transition x_(k), and outputting the result; a first filter tap including 2^(τ+1) tap values selected by the pattern (b_(k),b_(k−2:k−1−τ)) of future one and past τ bit data transition absolute values from a reference time when the reference time is k−1, for selecting a tap value obtained by assuming future transition absolute values as (b_(k)=1) and (b_(k)=0), multiplying the respective selected tap values with the current transition x_(k−1), and outputting the result; second through Nth filter taps including 2^(τ+1) tap values selected by the pattern (b_(k+1−n),b_(k−1−n:k−τ−n)) of future one and past τ bit data transition absolute values from a reference time when the reference time is k−n, for multiplying the respective selected tap values with the current transition x_(k−n), and outputting the result, wherein n=2, . . . , N and N is a predetermined integer equal to or greater than 2; and a transition calculator for calculating data a_(k−1) delayed by one clock cycle and a transition absolute value b_(k−1) used for the 0th filter tap through the Nth filter tap, from the original data a_(k) detected by the detector, wherein the detector comprises: a past tap value adder for adding the output values of the second filter tap through the Nth filter tap to each other; a future tap value adder for adding the output value of the 0th filter tap obtained by assuming that b_(k)=b_(k+1)=1, the output value of the first filter tap obtained by assuming that b_(k)=0, and the output value of the first filter tap obtained by assuming that b_(k)=1 to each other; and a threshold value calculator for detecting a threshold value based on 0 from the value obtained by subtracting the output value of the past tap value adder from the output value of the linear filter and subtracting the value obtained by multiplying the output value of the future tap value adder with {fraction (1/2+L )} from the result and outputting the threshold value.
 3. The apparatus of claim 2, wherein the pattern dependent filter further comprises an error value calculator for calculating an error value e_(k−3) delayed by three clock cycles by subtracting the value selected by b_(k−1) by delaying the two output values of the first filter tap by one clock from the value z_(k) obtained by subtracting the output value of the past tap value adder from the output value of the linear filter, subtracting the value selected by b_(k−1) and b_(k−2) by delaying the two output values of the 0th filter tap by two clock cycles from the subtraction result, and delaying the result by one clock cycle, wherein the 0th through Nth filter taps correct the tap value corresponding to the transition absolute value pattern by the error value delayed by three clock cycles calculated by the error value calculator.
 4. The apparatus of claim 3, wherein the error value calculator of the pattern dependent filter constructed by a pipeline calculates the error value e_(k−3) delayed by three clocks cycle.
 5. The apparatus of claim 4, wherein the error value calculator comprises: a first filter tap value selector for delaying the two output values of the first filter tap by one clock cycle and selecting the output value obtained by assuming b_(k)=0 when b_(k−1)=0 and the output value obtained by assuming b_(k)=1 when b_(k−1)=1; a second filter tap value selector for delaying the two output values of the 0th filter tap by two clock cycles and selecting the output value obtained by assuming b_(k+1)=0 when b_(k−1)=0 and the output value obtained by assuming b_(k+1)=1 when b_(k−1)=1; a third filter tap value selector for selecting 0 when b_(k−2)=0 and the value selected by the second filter tap value selector when b_(k−2)=1; a first error value adder for delaying the value z_(k) obtained by subtracting the output value of the past tap value adder from the output value of the linear filter by one clock cycle and subtracting the value selected by the first filter tap value selector from z_(k) delayed by one clock cycle; and a second error value adder for calculating the error value e_(k−3) delayed by three clock cycles by delaying the output value of the error value first adder by one clock cycle, subtracting the value selected by the third filter tap value selector from the output value of the error value first adder delayed by one clock cycle, and delaying the subtraction result by one clock cycle.
 6. The apparatus of claim 2, wherein the transition calculator of the pattern dependent filter comprises: first delaying means for delaying the original data a_(k) detected by the detector by one clock; an exclusive-OR gate for performing an exclusive-OR operation on the original data a_(k) and the original data a_(k−1) delayed by one clock cycle by the first delaying means; and second delaying means for calculating a transition absolute value b_(k−1) delayed by one clock cycle by delaying the output of the exclusive-OR gate by one clock cycle.
 7. A nonlinear equalizing apparatus for detecting an original data a_(k) from an input value r_(k) obtained by reproducing data received through a transfer channel or recorded on a storing apparatus, comprising: a linear filter for linear filtering the input value r_(k); a pattern dependent filter including 2^(τ+v+1) tap values selected by the respective patterns (b_(k−n+v:k−n+1),b_(k−n−1:k−n−τ)) of the future v, the current one, and the past τ data transition absolute values and N taps p_(n)(b_(k−n+v:k−n+1),b_(k−n−1:k−n−τ)) for outputting the value obtained by multiplying the selected tap value with the current transition (x_(k−n)), wherein x_(k−n)=(a_(k−n)−a_(k−n−1))/2∈{−1, 0, 1}, b_(k−n)=|x_(k−n)|∈{0, 1}, b_(k−n−1:k−n−τ)=(b_(k−n−1) b_(k−n−2) . . . b_(k−n−τ)), b_(k−n+v:k−n+1)=(b_(k−n+v) b_(k−n+v−1) . . . b_(k−n+1)), c_(k−n) equals 1 when a_(k)>0 and equals 0 in the other cases, n=0, 1, 2, . . . , N, and N is a predetermined integer not less than 1+v; and a detector for obtaining an error value e_(k) by the subsequent equation, with respect to all combinations of current and future data sequences ${e_{k} = {{\sum\limits_{m}{r_{k - m}f_{m}}} - {\sum\limits_{n}{x_{k - n}{p_{n}\left( {b_{k - n + {v\quad:{k - n + 1}}},c_{k - n},b_{{k - n - 1}:{k - n - \tau}}} \right)}}}}},$

wherein ƒ_(m) is the linear filter, and detecting current data assumed in the combination by which the minimum error square value is generated as the original data a_(k).
 8. The apparatus of claim 7, wherein the pattern dependent filter comprises: a 0th filter tap including 2^(τ+2) tap values selected by the pattern (b_(k+1),c_(k),b_(k−1:k−τ)) of future one and past τ bit data transition absolute values from a reference time when the reference time is k, for selecting a tap value obtained by assuming current and future transition absolute values as (b_(k)=1,b_(k+1)=0) and (b_(k)=1,b_(k+1)=1), multiplying the respective selected tap values with the current transition x_(k), and outputting the result; a first filter tap including 2^(τ+2) tap values selected by the pattern (b_(k),c_(k−1),b_(k−2:k−τ)) of future one and past τ bit data transition absolute values from a reference time when the reference time is k−1, for selecting a tap value obtained by assuming future transition absolute values as (b_(k)=1) and (b_(k)=0), multiplying the respective selected tap values with the current transition x_(k−1), and outputting the result; second through Nth filter taps including 2^(τ+2) tap values selected by the pattern (b_(k+1−n),c_(k—n),b_(k−1−n:k−τ−n)) of future one and past τ bit data transition absolute values from a reference time when the reference time is k−n, for multiplying the respective selected tap values with the current transition x_(k−n), and outputting the result, wherein n=2, . . . , and N and N is a predetermined integer at least 2; and a transition calculator for calculating data a_(k−1) delayed by one clock cycle and a transition absolute value b_(k−1) used for the 0th filter tap through the Nth filter tap, from the original data a_(k) detected by the detector, wherein the detector comprises: a past tap value adder for adding the output values of the second filter tap through the Nth filter tap to each other; a future tap value adder for adding the output value of the 0th filter tap obtained by assuming that b_(k)=b_(k+1)=1, the output value of the first filter tap obtained by assuming that b_(k)=0, and the output value of the first filter tap obtained by assuming that b_(k)=1 to each other; and a threshold value calculator for detecting a threshold value based on 0 from the value obtained by subtracting the output value of the past tap value adder from the output value of the linear filter and subtracting the output value of the future tap value adder from the result and outputting the threshold value.
 9. A method of detecting original data a_(k) from an input value r_(k) obtained by reproducing data received through a transfer channel or recorded on a storing apparatus, comprising the steps of: obtaining $\sum\limits_{n}{r_{k - n}f_{n}}$

by linear filtering the input value r_(k); obtaining $z_{k} = {{\sum\limits_{n}{r_{k - n}f_{n}}} - {\sum\limits_{n = 2}^{N}{x_{k - n}{p_{n}\left( {b_{k - n + 1},b_{{k - n - 1}:{k - n - \tau}}} \right)}}}}$

from already known data when a filter tap including 2^(τ+1) tap values selected by the pattern (b_(k+1−n),b_(k−1−n:k−τ−n)) of the future one and past τ bit data transition absolute values from a reference time when the reference time is k−n for multiplying the selected tap value with the current transition x_(k−n) is p_(n)(b_(k−n+1),b_(k−n−1:k−n−τ)), wherein x_(k−n)=(a_(k−n)−a_(k−n−1))/2∈{−1, 0, 1}, b_(k−n)=|x_(k−n)|∈{0, 1}, b_(k−n−1:k−n−τ)=(b_(k−n−1) b_(k−n−2) . . . b_(k−n−τ)), n=0, 1, 2, . . . , N, and N is a predetermined integer not less than 2^(v); obtaining an intermediate value T_(k) between the output value of the filter tap p₁ and p₀ when the transition is continuously generated in the current and future one bit (b_(k)=b_(k+1)=1) and the output value of the filter tap p₁ and p₀ when the transition is not currently generated; and detecting the original data a_(k) by determining a_(k) as +1 when z_(k)−T_(k) is equal to or greater than 0 and as −1 when a_(k) is less than
 0. 10. A method of detecting original data a_(k) from an input value r_(k) obtained by reproducing data received through a transfer channel or recorded on a storing apparatus, comprising the steps of: obtaining $\sum\limits_{n}{r_{k - n}f_{n}}$

by linear filtering the input value r_(k); obtaining $z_{k} = {{\sum\limits_{n}{r_{k - n}f_{n}}} - {\sum\limits_{n = 2}^{N}{x_{k - n}{p_{n}\left( {b_{k - n + 1},c_{k - n},b_{{k - n - 1}:{k - n - \tau}}} \right)}}}}$

from already known data when a filter tap including 2^(τ+2) tap values selected by the pattern (b_(k+1−n),c_(k−n),b_(k−1−n:k−τ−n)) of the future one, current one, and past τ data transition absolute values from a reference time when the reference time is k−n for multiplying the selected tap value with the current transitions x_(k−n) is p_(n)(b_(k−n+1),c_(k−n),b_(k−n−1:k−n−τ)), wherein, x_(k−n)=(a_(k−n)−a_(k−n−1))/2∈{−1, 0, 1}, b_(k−n)=|x_(k−n)|∈{0, 1}, b_(k−n−1:k−n−τ)=(b_(k−n−1) b_(k−n−2) . . . b_(k−n−τ)), c_(k−n) equals to 1 when a_(k)>0 and equals 0 in the other cases, n=0, 1, 2, . . . , N, and N is a predetermined integer not less than 2^(v); obtaining an intermediate value T_(k) between the output value of the filter tap P₁ and p₀ when the transition is continuously generated in the current and future one bit (b_(k)=b_(k+1)=1) and the output value of the filter tap p₁ and p₀ when the transition is not currently generated; and detecting the original data a_(k) by determining a_(k) as +1 when z_(k)−T_(k) equals to or is larger than 0 and as −1 when a_(k) is less than
 0. 